#pragma once 
#include <string>
#include <map>

namespace request_manager
{

#define CLIENT_ID "148:ggi:ver:platform"

	struct Request
	{
		std::string url;
		std::string data;
		Request()
		{
			url = "";
		}

		Request(std::string url)
		{
			this->url = url;
		}
	};

	struct Response
	{
		long http_code;
		std::string data;
	};

	const std::string credential_types[] = { "anonymous" };

	static enum ENVIRONMENT
	{
		mdc_alpha,
		mdc_beta,
		mdc_gold,
		eur_gold,
		asa_alpha,
		asa_beta,
		asa_gold
	};

	class Environment
	{
	public:
		static void Init(ENVIRONMENT env);

		static void SetClientID(std::string client_id);
		static void SetUsername(std::string username);
		static void SetPassword(std::string password);

		static bool IsInitialized();

		static std::string pandora_URL;
		static std::string client_ID;
		static std::string username;
		static std::string password;
	private:
		static void SetEnvironment(int env);
	};
}